package ro.gillardon.commons.config;

/**
 * Enum for properties.
 *
 * @author lorinczi
 */
public enum ConfigParam {

  /** url for prices hotel:Achat-Bretten. */
  ACHAT_BRETTEN_URL("achat.bretten.url"),

  /** The btp db username. */
  BTP_DB_USERNAME("btp.document.db.username"),

  /** The btp db password. */
  BTP_DB_PASSWORD("btp.document.db.password"),

  /** url for prices Commundo-Ismaning. */
  COMMUNDO_ISMANING_URL("commundo.ismaning.url"),

  /** The document db url. */
  DOCUMENT_DB_URL("btp.document.db.url"),

  /** http proxy host. */
  HTTP_PROXY_HOST("http.proxy.host"),

  /** http proxy port. */
  HTTP_PROXY_PORT("http.proxy.port"),

  /////////////////////////////////////////////////////////////////////////////
  // Params for plane price service
  /////////////////////////////////////////////////////////////////////////////

  /** The business priceservice plane navigator url. */
  BUSINESS_PRICESERVICE_PLANE_NAVIGATOR_URL("business.priceservice.plane.navigator.url"),

  /** The business priceservice plane navigator one stop check box. */
  BUSINESS_PRICESERVICE_PLANE_NAVIGATOR_CHECKBOX_ONESTOP("business.priceservice.plane.navigator.class.checkbox.onestop"),

  /** The business priceservice plane navigator two stop check box. */
  BUSINESS_PRICESERVICE_PLANE_NAVIGATOR_CHECKBOX_TWOSTOP("business.priceservice.plane.navigator.class.checkbox.twostop"),

  /** The business priceservice plane navigator direct check box. */
  BUSINESS_PRICESERVICE_PLANE_NAVIGATOR_CHECKBOX_DIRECT("business.priceservice.plane.navigator.class.checkbox.direct"),

  /** The business priceservice plane navigator result. */
  BUSINESS_PRICESERVICE_PLANE_NAVIGATOR_RESULT("business.priceservice.plane.navigator.class.result"),

  BUSINESS_PRICESERVICE_PLANE_PARSER_XPATH_COMPANY("business.priceservice.plane.parser.class.xpath.company"),

  BUSINESS_PRICESERVICE_PLANE_PARSER_XPATH_FLIGHTS("business.priceservice.plane.parser.class.xpath.flights"),

  BUSINESS_PRICESERVICE_PLANE_PARSER_XPATH_PRICES("business.priceservice.plane.parser.class.xpath.prices"),

  BUSINESS_PRICESERVICE_PLANE_PARSER_NO_DIVISION("business.priceservice.plane.parser.class.no_of_divisions"),

  /////////////////////////////////////////////////////////////////////////////
  // Params for train price service
  /////////////////////////////////////////////////////////////////////////////

  /** The business priceservice train navigator url. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_URL("business.priceservice.train.navigator.url"),

  /** The business priceservice train navigator dateformat. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_DATEFORMAT("business.priceservice.train.navigator.pattern.date"),

  /** The business priceservice train navigator from id. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_FROM_ID("business.priceservice.train.navigator.id.from"),

  /** The business priceservice train navigator to id. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_TO_ID("business.priceservice.train.navigator.id.to"),

  /** The business priceservice train navigator firstclass id. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_FIRSTCLASS_ID("business.priceservice.train.navigator.id.firstclass"),

  /** The business priceservice train navigator secondclass id. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_SECONDCLASS_ID("business.priceservice.train.navigator.id.secondclass"),

  /** The business priceservice train navigator search class. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_SEARCH_CLASS("business.priceservice.train.navigator.class.search"),

  /** The business priceservice train navigator departuredate name. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_DEPARTUREDATE_NAME("business.priceservice.train.navigator.name.departuredate"),

  /** The business priceservice train navigator result xpath. */
  BUSINESS_PRICESERVICE_TRAIN_NAVIGATOR_RESULT_XPATH("business.priceservice.train.navigator.xpath.result"),

  /** The business priceservice train parser price. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_PRICE("business.priceservice.train.parser.class.column.price"),

  /** The business priceservice train parser train type. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_TRAIN_TYPE("business.priceservice.train.parser.class.column.traintype"),

  /** The business priceservice train parser changes. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_CHANGES("business.priceservice.train.parser.class.column.changes"),

  /** The business priceservice train parser duration. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_DURATION("business.priceservice.train.parser.class.column.duration"),

  /** The business priceservice train parser date. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_DATE("business.priceservice.train.parser.class.column.date"),

  /** The business priceservice train parser time. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_TIME("business.priceservice.train.parser.class.column.time"),

  /** The business priceservice train parser first row. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_FIRST_ROW("business.priceservice.train.parser.class.row.first"),

  /** The business priceservice train parser last row. */
  BUSINESS_PRICESERVICE_TRAIN_PARSER_LAST_ROW("business.priceservice.train.parser.class.row.last"),

  /** The DAO type. */
  DAO_TYPE("persistence.dao.type"),
  //end of the enums
  /** The property key. */
  ;

  /**
   * Property key.
   */
  private String propertyKey;

  /**
   * Constructor.
   *
   * @param propertyKey string input.
   */
  private ConfigParam(final String propertyKey) {
    this.propertyKey = propertyKey;
  }

  /**
   * Getter for property key.
   *
   * @return popertyKey
   */
  public String getPropertyKey() {
    return this.propertyKey;
  }
}
